from locust import HttpUser, TaskSet, task


class UserBehavior(TaskSet):
    # Locust任务集，定义每个 locust 的行为
    @task(1)  # 任务的权重为1，如果有多个任务，可以将权重值定义成不同的值，
    def list_article(self):     # 首页文章列表
        response = self.client.get('/article/list-article/')
        if not response.ok:
            print(response.text)
            response.failure('Got wrong response')


class TestLocust(HttpUser):
    """自定义Locust类，可以设置Locust的参数。"""
    tasks = [UserBehavior]
    host = "http://127.0.0.1:8000"  # 被测服务器地址
    min_wait = 5000
    # 最小等待时间，即至少等待多少秒后Locust选择执行一个任务。

    max_wait = 9000
    # 最大等待时间，即至多等待多少秒后Locust选择执行一个任务。

